This invention relates to the control of machine tools having a numeric controller (NC) or the like together with ancillary software, and particularly but not exclusively the control necessary for on-machine measurement.
Conventional NC machine tools make programming for the control of machine movements relatively easy. Programs for operations like cutting are used to control the operation of the NC machine. The programs are most commonly constructed from commands in a low level language i.e. commands that are interpretable directly by the motion control system or other ancillary control system of an NC machine into motion control commands and other ancillary control commands. Examples of low level language command sets are known as a G codes or ISO codes. Ancillary software (e.g. program editors) may be used to aid the generation of such cutting programs. For example, so called CAD/CAM software is available which can generate cutting paths based on the nominal dimensions of a part which is represented in software. A sequence of machine operations is generated by the CAD/CAM or some other editor software in the form of high level language instructions i.e. instructions which are not necessarily interpretable directly by the NC control system. These instructions are turned into G codes that the NC can understand by means of further (post) processing. The exact cutting program resulting from post processing is dependent on the type of NC machine being controlled. Other program editors allow low-level language commands to be generated directly, thereby negating post processing.
It is known to use these low level commands to perform inspection of workpieces. Commonly, the commands cause the machine to pick up an inspection probe rather than a cutter, and to travel to the surface of the workpiece and touch the workpiece to generate a signal. In general the inspection commands are either separate NC programs or sub-programs called from within the cutting program or are input into the high level language instructions by means of specific low level instructions.
CAD/CAM and like editors are also capable of feature based generation of cutting paths. This is a function whereby the programmer need only select a geometric feature e.g. a bore or a flat surface, and the editor will generate a cutting path automatically based on known nominal data for that feature and other available data such as cutter sizes and the amount of material that can be removed at one time. So a bore might be produced by moving a small cutter downwardly in a spiral, and a flat surface might be produced by linear movements of the cutter back and forth. The programmer need not specify the specific cutter movements, just the finished feature.